Съдържание:

ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633: 5 стъпки
ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633: 5 стъпки

Видео: ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633: 5 стъпки

Видео: ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633: 5 стъпки
Видео: Как использовать…COULD BE / SHOULD BE / WOULD BE | Урок английской грамматики + 180 примеров 2024, Юли
Anonim
ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633
ЕЛЕКТРОННИ ЗАРИ, ИЗПОЛЗВАЩИ CLOUDX M633

Сигурно всички сме играли хазарта по един или друг начин, използвайки заровете. Познаването на много непредсказуемия характер на това, което ще се окаже хвърлянето на заровете, добавя много забавна игра.

Представям ви електронни цифрови зарове, използващи прости светодиоди, бутон и модул CloudX M633, за да го внедрите.

Стъпка 1: КОМПОНЕНТИ

КОМПОНЕНТИ
КОМПОНЕНТИ
КОМПОНЕНТИ
КОМПОНЕНТИ
КОМПОНЕНТИ
КОМПОНЕНТИ
  • CloudX M633
  • Софт карта на CloudX
  • Светодиоди
  • Резистори (100r, 10k)
  • BreadBoard
  • Джъмпер тел
  • Натисни бутона
  • V3 кабел

Стъпка 2: Светодиоди

Светодиоди
Светодиоди

Светодиодите (LED) са специалният вид диоди, които светят, когато токът преминава през тях. Само това, че се полагат максимални грижи, ограничава действителното количество ток, който преминава през тях, така че да се избегне неволното им увреждане в процеса.

Стъпка 3: Свързване на светодиодите с CloudX M633

Свързване на светодиодите с CloudX M633
Свързване на светодиодите с CloudX M633

Цялата схема се състои от две секции: съответно микроконтролера и светодиодните секции. Светодиодите са организирани в два комплекта с всеки - (състоящ се от 7 светодиода), представляващи нормалните лица на зар; и са свързани към щифт P1 през щифт P14 на MCU модула.

Цялата операция се върти около модула на микроконтролера като сърцебиене на целия проект. Той (MCU) може да бъде включен:

  • или чрез VIN и GND точките (т.е. свързването им към терминалите +ve и –ve на вашето външно захранващо устройство съответно) на платката;
  • или чрез вашия CloudX USB модул с мека карта.

Както е ясно илюстрирано в схематичната диаграма по -горе, светодиодите са подредени по такъв начин, че когато светнат, те показват числата, както биха били в истински зар. И ние работим с два комплекта светодиоди, за да представим две отделни парчета зарчета. Всички те са свързани в текущия режим на потъване.

Първата група светодиоди включва: D1, D2, D3, D4, D5, D6 и D7; са свързани към щифтовете на MCU: P1, P2, P3, P4, P5, P6 и P7 съответно чрез 10Ω резистори. Като има предвид, че другата група, състояща се от: D8, D9, D10, D11, D12, D13 и D14; са свързани към щифтовете на MCU: P9, P10, P11, P12, P13, P14 и P15 съответно чрез 10Ω резистори.

След това превключвателят SW1 с бутон, с който правим генериране на произволни числа чрез натискане на превключвател, е свързан към щифта P16 на MCU с помощта на издърпващ се резистор от 10 kΩ.

Стъпка 4: Принципи на работа

При стартиране светодиодите обикновено са изключени, което показва, че системата е готова за генериране на ново произволно число за показване. При натискане на превключвател се генерира произволно число в диапазона от 1 до 6 и се показва чрез светодиодите; и останете включени в очакване, когато отново се натисне друг превключвател.

Стъпка 5: КОДИРАНЕ

#включва

#включва

#дефинирайте превключвател 1 щифт16

#дефинирайте натиснат LOW

/ *притежава модели на зарове, които да надхвърлят светодиодите */

неподписан символ = {0, 0x08, 0x14, 0x1C, 0x55, 0x5D, 0x77};

без знак char i, dice1, dice2;

setup () {// настройка тук / *конфигурира изводите на портовете като изход * /portMode (1, OUTPUT); portMode (2, 0b10000000); / *изключва всички светодиоди в началото */ portWrite (1, LOW); portWrite (2, LOW); randNumLimit (1, 6); // се грижи за диапазона на генериране на randomNumber (т.е. мин., макс.)

loop () {

// Програмираме тук ако (превключвател1 е натиснат) {докато (превключвател1 е НИСКИ); // изчаква тук, докато ключът бъде освободен dice1 = randNumGen (); // генерира произволно число за dice1 dice2 = randNumGen (); portWrite (1, die [dice1]); // извлича правилния модел на зарове и го показва portWrite (2, die [dice2]); } else {portWrite (1, die [dice1]); portWrite (2, die [dice2]); }}} // Край на програмата

Препоръчано: