યુએસબી સાથે ડિજિસ્પાર્કનો ઉપયોગ કરીને LCD પર ટેક્સ્ટ દર્શાવવું | રોબોજેક્સ
આ પ્રોજેક્ટ દર્શાવે છે કે કેવી રીતે 1602 LCD સ્ક્રીનને Digispark માઇક્રોકંટ્રોલર સાથે જોડીને ટેક્સ્ટ સંદેશાઓ પ્રદર્શિત કરવા. આ એમ્બેડેડ સિસ્ટમ્સમાં મૂળભૂત કૌશલ્ય છે, જે વિવિધ એપ્લિકેશનો માટે કસ્ટમ ડિસ્પ્લે બનાવવા માટે ઉપયોગી છે. Digispark નું નાનું કદ અને ઓછી કિંમત તેને કોમ્પેક્ટ પ્રોજેક્ટ્સ માટે આદર્શ બનાવે છે.
પ્રોજેક્ટ વિચારો:
- સરળ ડિજિટલ ઘડિયાળ બનાવો.
- સેન્સર રીડિંગ્સ પ્રદર્શિત કરો (તાપમાન, ભેજ, વગેરે).
- મોટા પ્રોજેક્ટ માટે કસ્ટમ સ્ટેટસ સૂચક બનાવો.
- ઓન-સ્ક્રીન ફીડબેક સાથે મૂળભૂત રમત વિકસાવો.
હાર્ડવેર/ઘટકો
પ્રોજેક્ટમાં 1602 LCD સ્ક્રીન (16 અક્ષરો x 2 લાઇન) (વિડિયોમાં 00:21 પર), Digispark માઇક્રોકંટ્રોલર (USB અથવા માઇક્રો USB સંસ્કરણ – વાયરિંગ મોટે ભાગે સમાન છે, પરંતુ કમ્પ્યુટર સાથેનું જોડાણ અલગ છે (વિડિયોમાં 00:34 પર)), અને જમ્પર વાયરનો ઉપયોગ થાય છે. LCD સ્ક્રીનમાં I2C સંચાર મોડ્યુલ (વિડિયોમાં 00:56 પર), બેકલાઇટ, અને સ્ક્રીનની તેજસ્વિતા સમાયોજિત કરવા માટે પોટેન્શિયોમીટર (વિડિયોમાં 01:31 પર) શામેલ છે.
વાયરિંગ માર્ગદર્શિકા
વાયરિંગ જોડાણો નીચે મુજબ છે (વિડિયોમાં 02:09 પર):
- LCD ગ્રાઉન્ડ થી Digispark ગ્રાઉન્ડ
- LCD VCC થી Digispark 5V
- LCD SDA થી Digispark પિન 0
- LCD SCL થી Digispark પિન 1
કોડ સમજૂતી
Arduino કોડ LiquidCrystal લાઇબ્રેરીનો ઉપયોગ કરે છે. નિર્ણાયક રીતે, તમારે I2C સ્કેનરનો ઉપયોગ કરીને તમારા LCD નું I2C સરનામું શોધવાની જરૂર છે (વિડિયોમાં 03:36 પર). આ સરનામું (સામાન્ય રીતે 0x3F, 0x27, અથવા 0x38 જેવું હેક્સાડેસિમલ મૂલ્ય) કોડમાં દાખલ કરવું આવશ્યક છે (વિડિયોમાં 03:29 પર). કોડ LCD ના કૉલમ (16) અને પંક્તિઓ (2) ની સંખ્યા પણ વ્યાખ્યાયિત કરે છે (વિડિયોમાં 05:57 પર). setup() ફંક્શન LCD ને પ્રારંભ કરે છે અને પ્રારંભિક સંદેશ છાપે છે. loop() ફંક્શન સતત LCD સાફ કરે છે, પ્રથમ લાઇન પર "RoboJax" અને બીજી લાઇન પર "Hello World!" છાપે છે (વિડિયોમાં 06:54 પર), અપડેટ્સ વચ્ચે અડધી સેકન્ડનો વિલંબ સાથે (વિડિયોમાં 07:46 પર).
// ... (અન્ય કોડ છોડવામાં આવ્યો) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (અન્ય કોડ છોડવામાં આવ્યો) ...
//આ લાઇન LCD નું I2C સરનામું સેટ કરે છે
lcd.begin(16, 2); //આ લાઇન LCD ના પરિમાણો સેટ કરે છે
// ... (અન્ય કોડ છોડવામાં આવ્યો) ...
લાઇવ પ્રોજેક્ટ/પ્રદર્શન
વિડિયો Digispark પર કોડનું સફળ સંકલન અને અપલોડ દર્શાવે છે (વિડિયોમાં 08:20 પર). LCD પ્રોગ્રામ કરેલ ટેક્સ્ટ પ્રદર્શિત કરે છે, જે સર્કિટની કાર્યક્ષમતાની પુષ્ટિ કરે છે (વિડિયોમાં 08:48 પર).
પ્રકરણો
- [00:01] પરિચય
- [00:21] LCD 1602 ઝાંખી
- [01:06] હાર્ડવેર જોડાણો
- [02:09] વાયરિંગ વિગતો
- [02:53] કોડ ઝાંખી
- [03:27] I2C સરનામું શોધવું
- [05:04] કોડ અપલોડ કરવો
- [06:54] કોડ સમજૂતી: લૂપ ફંક્શન
- [08:20] લાઇવ પ્રદર્શન
// LCD1602 Display for Arduino
// January 21, 2018 14:25 this example will work with a 1602 LCD
// Code used for YouTube video for RoboJax channel
// Watch the video https://youtu.be/S4ya3Q7uhJs
// Video and other Arduino Tutorials http://robojax.com/learn/library
// January 21, 2018 14:25
// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// RoboJax LCD1602 Test
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
// RoboJax LCD1602 Test
}
void loop() {
// RoboJax LCD1602 Test
lcd.setCursor(0, 0);
lcd.print("RoboJax LCD Test");
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Hello World!");
delay(500);
// RoboJax LCD1602 Test
}
Things you might need
-
eBay
-
AliExpressPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
Resources & references
-
ExternalATtiny88 datasheet (PDF)ww1.microchip.com
Files📁
Other files
-
Digistump DriversDriver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
Digistump.Drivers.zip